1. Field of the Invention
The present invention is directed to a system which uses proxy images to store information relating to an output image generated by an application program, to transmit that information through an operating system interface module to a device driver, and to retrieve the output image.
2. Description of the Related Art
Modern personal computers include an operating system which allows a user to control computer functions and to execute application programs, such as WordPerfect, PowerPoint, etc. In addition to an operating system, modern computing systems also include one or more device drivers. Device drivers provide a software interface to firmware within an image forming device, such as a printer or display.
Traditionally, each application program included its own device drivers. Modern operating systems, such as Windows95, eliminate the need for this by providing a device driver which can operate with a variety of application programs. To achieve this advantage, operating systems of this type include one or more software modules which interface between application programs and the device driver. For example in a Windows95 environments, a graphics device interface (hereinafter "GDI") module is provided. This module processes images received from an application program, and outputs to the device driver images which are based on the images received from the application program.
To this end, the device driver includes one or more entry points, which correspond to an image format that is recognizable to the device driver, and which provide appropriate formatting (e.g., adding printer control commands and the like) to an image received from the interface module. For example, in a Windows95 device driver, one of these entry points is called StretchDIBits. This entry point is responsible for copying an image, formatted as a device independent bitmap (hereinafter "DIB") image, onto a rendering surface with optional stretching or shrinking.
Other than a device dependent bitmap (hereinafter "DDB"), the DIB is the only format available to transfer an image out of an application, through the GDI, to the device. Other formats are not recognizable by the GDI. Hence, for an application which works with images in other formats, such as FlashPix format, the application must convert the output image from the FlashPix format to an image format that is recognizable to the GDI, such as the DIB format noted above, in order to transmit the output image through the GDI. A second conversion may then required by the device driver in order to convert the DIB image into a format which can transmitted to the device by the device driver. These two conversions are time consuming, and, in some cases, data can be lost during the conversions.
Thus, there exists a need for a system which can transmit, to a device driver, information concerning an image which is output by an application program, and which has a format that is not native to the GDI.